javascript - 我想在每次提交表单时生成一个格式为“ZXCVBN”的随机字符串
问题描述
我想在每次提交表单时生成一个格式为“ZXCVBN”的随机字符串,并分配给 add-event.comonent.ts 文件中事件数组的“code”参数。我该怎么做?
代码必须正好包含 6 个大写随机字母。
添加-event.component.ts:-
export class AddEventComponent implements OnInit {
event: Event = {
code: '',
name:'',
password:'',
pollCat:''
}
constructor(private eventService : EventsService) { }
ngOnInit() {
}
onSubmit()
{
if(this.event.name !="" && this.event.password !="")
{
this.eventService.addEvent(this.event);
this.event.name = '';
this.event.password = '';
}
}
}
events.service.ts:-
@Injectable({
providedIn: 'root'
})
export class EventsService {
eventsCollection : AngularFirestoreCollection<Event>;
events: Observable<Event[]>;
constructor(public afs: AngularFirestore) {
this.eventsCollection = this.afs.collection<Event>('Events');
this.events = this.eventsCollection.snapshotChanges().pipe(
map(changes => {
return changes.map(a => {
const data = a.payload.doc.data() as Event;
data.id = a.payload.doc.id;
return data;
})
}));
}
getEvents()
{
return this.events;
}
addEvent(event: Event)
{
this.eventsCollection.add(event);
}
}
解决方案
这是一个解决方案,将其添加到您的代码中
function generateCode(length) {
var result = '';
var characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZ';
var charactersLength = characters.length;
for ( var i = 0; i < length; i++ ) {
result += characters.charAt(Math.floor(Math.random() * charactersLength));
}
return result;
}
console.log(generateCode(6))
推荐阅读
- haskell - 使用 spawnOn 启动应用程序时如何在启动时设置默认工作区?
- python - Discord.py - 'Member' 对象没有属性 'channel'
- python - 在 Windows 上,将 CSV 文件导入 python
- databricks - 如何使用 COPY INTO 命令?
- python - 烧瓶线程池耗尽
- python - 如何将图像裁剪为例如形状。在 Discord.py 中使用 Pillow 圈?
- math - 从平面法线计算 Z 值
- python - 查找给定数据的日期(文本中:例如 2019 年 2 月 8 日)
- java - 将平面 JSON 数组转换为 JAVA 中的结构化形式
- flutter - 通过添加两个不同的列表生成第三个列表