antd vue switch组件怎么把值true、false改为number类型的1和0

看了一下antd 文档,好像没有提供这个功能
switch文档

element就可以
<el-switch :active-value="1" :inactive-value="0" v-model="menuInfoForm.status"></el-switch>

或者有什么办法转变这个值,谢谢各位

阅读 10.1k
2 个回答
<template>
  <a-switch :checked="value" @change="onChange" />
</template>

<script>
export default {
  model: {
    prop: 'checked',
    event: 'change',
  },
  props: {
    checked: {
      type: [Number, String],
      required: true,
    },
  },
  computed: {
    value() {
      return this.checked === 1 || this.checked === '1'
    },
  },
  methods: {
    onChange(checked) {
      this.$emit('change', checked ? 1 : 0)
    },
  },
}
</script>

自己再封装一层 因为上面还有很多props 用render写 把props都给绑上去 或者一个一个写(有点呆)

import { Switch } from 'ant-design-vue'
props: {
    ...Switch.props,
},
render() {
    return (
      <Switch on={this.$listeners} {...{ props: { ...this.$props, checked: this.value } }}>
      </Switch>
    )
  },

大概是这样 跑不起来的话自己改改 🐶

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏