在Vue2环境中,有一个动态表单,数据源如下:
list: [ { name: '姓名', props: 'name', show: [] }, { name: '年龄', props: 'age', show: [] }, { name: '身高', props: 'height', show: [] }, { name: '是否合格', props: 'isPass', show: [ { key: 'age', symbol: '<=', value: 28 }, { key: 'height', symbol: '>=', value: 180 }, ], value: '' }],formData: { name: '', age: '', height: '', isPass: '' },
要实现的功能是:每个表单项根据其对象里的show来判断是否显示,如果show为空数组,代表无条件限制。
比如是否合格这一项,只有在 年龄<=28&&身高>=180 时才显示。
测试渲染代码如下:
<div class="list"> <template v-for="item in list"> <div class="item" :key="item.name"> <span>{{ item.name }}</span> <input type="text" v-model="formData[item.props]" :placeholder="'请输入' + item.name" /> </div> </template></div>
请问下一步该如何进行?
<template> <div class="list"> <template v-for="item in list"> <div class="item" v-if="shouldShow(item)" :key="item.name"> <span>{{ item.name }}</span> <input type="text" v-model="formData[item.props]" :placeholder="'请输入' + item.name" /> </div> </template> </div></template><script>export default { data() { return { list: [ { name: '姓名', props: 'name', show: [] }, { name: '年龄', props: 'age', show: [] }, { name: '身高', props: 'height', show: [] }, { name: '是否合格', props: 'isPass', show: [ { key: 'age', symbol: '<=', value: 28 }, { key: 'height', symbol: '>=', value: 180 }, ], value: '' } ], formData: { name: '', age: '', height: '', isPass: '' }, }; }, methods: { shouldShow(item) { if (item.show.length === 0) { return true; } return item.show.every(condition => { const formValue = this.formData[condition.key]; switch (condition.symbol) { case '<=': return formValue <= condition.value; case '>=': return formValue >= condition.value; default: return false; } }); } }};</script><style scoped></style>
我正在尝试使用按钮(传递给另一个组件)来切换暗模式。最初,我加载一个轻主题样式表。然后,切换主题按钮应删除页面上最新加载的样式表,并将状态设置为与当前状态相反的状态。 我的理解是,然后,useEffect将“看到”状态变化并启动。这就是我们加载新样式表的地方。应用正确加载初始样式表,切换按钮可以正常工作一次,但之后就不能正常工作。第一次更改后,它会删除所有样式。使用反应开发工具,看起来状态正在正确
服务端动态渲染网页是生成网页的最常用方法, 该方法同样适用于动态生成包含 Highcharts 图表的网页。 服务端动态渲染网页的做法:后端程序读取数据库数据并按照一定的业务逻辑处理成字符串,在页面对应位置上输出。 下面我们用 PHP 举例简单说明这个过程: 实例1: 只包含数值的 <?php // php 读取数据库并生成 字符串,这里这是简单的实例 // 读取数据 while ($
问题内容: 在React JSX中,似乎无法执行以下操作: 我收到一个解析错误:意外令牌{。这不是React可以处理的吗? 我正在设计此组件,以便在内部隐藏的值将包含有效的HTML元素(h1,p等)。有什么办法可以使这项工作吗? 问题答案: 您不应该将组件子弹放在花括号中: 这是一个有效的小提琴:http : //jsfiddle.net/kb3gN/6668/ 此外,您还可以找到JSX编译器,有
因此,我试图用几个HTML输入创建一个动态表单。我有一个对象数组,其中包含应该呈现的的。目前,我能够呈现两个输入,如文本区域,但我如何处理收音机,复选框,选择连同他们的选项?任何帮助都将不胜感激。 请参见此CodeSandBox。
本文向大家介绍ListView实现下拉动态渲染数据,包括了ListView实现下拉动态渲染数据的使用技巧和注意事项,需要的朋友参考一下 这是一篇关于LIstView实现动态数据渲染的文章! 首先我们讲讲数据是如何来规划的 一般情况下我们有两种规划方案 前提比如我们数据是100条+ 第一:一次性把100条数据fetch过来 然后由前端JS代码来做分页处理(如每次渲染10条) 第二:在server端
我想在render()中动态生成输出,但遇到了一个非常奇怪的情况。我有一个使用fetch()从数据库检索数据的过程。一旦得到数据,我就确定数据记录的数量,然后执行for循环,用返回的数据填充数组。在for循环之前有一个console.log()来显示数据接收数组的内容,在填充接收数组时还有另一个console.log()。出于某种原因,在填充数组的特定引用时,数组的所有引用似乎都在更改。这是我的全