iview render方法生成iswitch,input等表单组件并进行双向绑定

按钮就不说了,主要是表单组件,要实现双向绑定,话不多说直接上代码

{
	title: '状态',
	key: 'state',
	render: (h, params) => {
	  return h('div', [
	    h('i-switch', {
	      props: {
	        size: 'small',
	        trueValue: 1,
	        falseValue: 0,
	        value: params.row.state
	      },
	      on: {
	        input: function (event) {
	          // 这里会起到监听的作用
              params.row.state = event
	        },
	        'on-change': (value) => {
	          this.$Modal.confirm({
	            title: '是否' + (value ? '启用' : '停用') + '?',
	            content: '<p>此项目将会被' + (value ? '启用' : '停用') + '!</p>',
	            onOk: () => {
	
	            },
	            onCancel: () => {
	              if (params.row.state === 1) {
	                params.row.state = 0
	              } else {
	                params.row.state = 1
	              }
	            }
	          })
	        }
	      }
	    })
	  ])
	}
}
iView 是一个基于 Vue.js 的高质量 UI 组件库,它提供了丰富的组件和功能。关于您提到的 `Switch` 组件,它是一个开关按钮,可以用来切换开/关状态。在使用 iView 的 `Switch` 组件时,如果您想取消改变状态,通常可以通过绑定一个变量到 `Switch` 的 `v-model` 属性,并在状态改变的事件处理函数中更新这个变量来控制状态的变化。不过,如果您想要在状态即将改变时阻止这种改变,可以利用 `change` 事件来实现。 以下是一个简单的例子来说明如何控制 `Switch` 组件状态的改变: ```html <template> <Switch v-model="switchValue" @change="handleChange"/> </template> <script> export default { data() { return { // 初始状态可以设置为 true 或 false switchValue: true } }, methods: { handleChange(newValue) { // 在这里可以加入一些逻辑判断 // 如果满足某个条件,就阻止状态改变 if (someCondition) { // 这里可以将开关状态设置回之前的值,或者直接阻止 // 例如将状态设置回 false,不让它切换到 true this.switchValue = !newValue; // 或者使用 alert 提示用户,并且不改变状态 alert('状态改变被阻止'); // 注意:如果在 change 事件中直接修改绑定的变量的值,可能会导致组件不响应,所以一般不推荐直接修改,而是通过用户交互或其他逻辑来控制状态变化 } } } } </script> ``` 在上面的代码中,`handleChange` 方法会根据 `someCondition` 的条件判断是否要阻止状态的改变。如果需要阻止改变,可以根据实际情况将 `switchValue` 设置回原来的值,或者使用其他逻辑来处理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值