【vue】在vue项目中按顺序动态24个英文字母选项:A B C D E F......

效果展示:
在这里插入图片描述
点击增加选项和答案后,会按顺序新增24位的英文字母:
在这里插入图片描述

<!-- html -->
<el-button type="danger" size="small" @click="addQuestion">+增加选项与答案</el-button>

<!-- js -->
<script>
	export default {
		data(){
			return {
				i:0,
				form: {
		        // 选项
		        options: [
		          {
		            // 选中的A B C D
		            code: 'A',
		            // input中输入的每个选项
		            title: '',
		            // 图片url
		            img: '',
		            // 布尔值true或false,选的哪个选项,哪个选项就为true
		            isRight: false
		          },
		          {
		            code: 'B',
		            title: '',
		            img: '',
		            isRight: false
		          },
		          {
		            code: 'C',
		            title: '',
		            img: '',
		            isRight: false
		          },
		          {
		            code: 'D',
		            title: '',
		            img: '',
		            isRight: false
		          }
		        ]
			}
		},
		methods:{
			// 随机顺序生成ABCDE...字母的函数
		    setDesc() {
		      const letterArr = []
		      // 字母A的code值是65,但因为已经到字母D了,所以直接从69E开始循环
		      for (let i = 69; i < 91; i++) {
		        letterArr[i] = String.fromCharCode(i)
		      }
		      return letterArr
		    },
		    // 增加选项和答案按钮
		    addQuestion() {
		      // 调用随机顺序生成ABCDE...字母的函数,可以打印randomAbc 数组看下
		      // 有69个元素是空的,所以直接进行了截取
		      const randomAbc = this.setDesc().splice(69)
		      const res = [
		        ...this.form.options,
		        {
		          code: randomAbc[this.i],
		          title: '',
		          img: '',
		          isRight: false
		        }
		      ]
		      this.i++
		      this.form.options = res
		    }
		}
	}
</script>
  • 4
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值